package 树;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName 二叉搜索树的第K大节点.java
 * @Description TODO
 * @createTime 2020年10月06日 20:57:00
 *
 * 二叉搜索树，自然是二叉树的一种，而它最主要的特点就是，要不是一棵空树，
 * 要不这棵树上所有的节点的右边的所有节点以及子节点都比这个节点要大，
 * 并且这棵树上所有的节点的左边边的所有节点以及子节点都比这个节点要小；
 *
 * 这种数据结构的一个神奇之处就在于，中序遍历的结果，如果是左子树在前，右子树在后，遍历结果就是由小到大、
 * 如果是右子树在前，左子树在后，遍历结果就是由大到小；
 *
 *
 * 解法1：根据二叉树的性质 直接中序遍历 并且保证 右子树在前 左子树在后
 *
 */
public class 二叉搜索树的第K大节点 {
    /*
    * class Solution {
    ArrayList<Integer> list=new ArrayList<>();
    public int kthLargest(TreeNode root, int k) {
        dfs(root);

        return list.get(k-1);

    }

    public void dfs(TreeNode root){
        if(root==null){
            return;
        }


        dfs(root.right);
         list.add(root.val);
        dfs(root.left);

    }
}*/

}
